#ifndef CURRENT_THREAD_H
#define CURRENT_THREAD_H

namespace Logger
{
    // 系统调用耗时，缓存tid；头文件extern，源文件定义
    extern thread_local int tCacheTid;

    void getCacheTid();

    inline int getTid() // 内联函数只在当前文件中起作用，即线程局部
    {
        // 编译器优化，期望tCacheTid == 0结果为0，则进入if
        if (__builtin_expect(tCacheTid == 0, 0))
        {
            getCacheTid();
        }
        return tCacheTid;
    }
} // namespace Logger

#endif // CURRENT_THREAD_H